System and method for reducing line current distortion

ABSTRACT

A power factor correction (PFC) system includes an adjustment module, a compensation module, and a duty cycle control module. The adjustment module generates N time advances based on N predetermined time advances and (N−1) time advance adjustments, wherein N is an integer greater than zero. The compensation module generates N compensated versions of an input alternating current (AC) line signal by predicting ahead of the input AC line signal using a gradient of a sinusoidal reference signal and the N time advances, respectively, wherein the sinusoidal reference signal is synchronized with the input AC line signal in phase and frequency. The duty cycle control module generates PFC duty cycles based on the N compensated versions of the input AC line signal.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.61/232,646, filed on Aug. 10, 2009. The entire disclosure of the aboveapplication is incorporated herein by reference.

FIELD

The present disclosure relates to electric motor control systems andmethods and more particularly to power factor correction systems andmethods.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description that may nototherwise qualify as prior art at the time of filing, are neitherexpressly nor impliedly admitted as prior art against the presentdisclosure.

Electric motors are used in a wide variety of industrial and residentialapplications including, but not limited to, heating, ventilating, andair conditioning (HVAC) systems. For example only, an electric motor maydrive a compressor in an HVAC system. One or more additional electricmotors may also be implemented in the HVAC system. For example only, theHVAC system may include another electric motor that drives a fanassociated with a condenser. Another electric motor may be included inthe HVAC system to drive a fan associated with an evaporator.

Power factor is an indicator of the relationship between current andvoltage in a circuit, or how effectively a circuit uses real powercompared to storing and returning energy to the power source. Powerfactor may be expressed as a value between zero and one. The circuit'suse of actual real power divided by the total volt amps drawn by thecircuit may increase as the power factor approaches one. In variousimplementations, a power factor correction (PFC) system may beimplemented. PFC systems generally operate to increase a circuit's powerfactor toward one, thereby increasing the circuit's use of real power ascompared with the amount of reactive power the circuit stores andreturns to the source.

SUMMARY

A power factor correction (PFC) system includes an adjustment module, acompensation module, and a duty cycle control module. The adjustmentmodule generates N time advances based on N predetermined time advancesand (N−1) time advance adjustments, wherein N is an integer greater thanzero. The compensation module generates N compensated versions of aninput alternating current (AC) line signal by predicting ahead of theinput AC line signal using a gradient of a sinusoidal reference signaland the N time advances, respectively, wherein the sinusoidal referencesignal is synchronized with the input AC line signal in phase andfrequency. The duty cycle control module generates PFC duty cycles basedon the N compensated versions of the input AC line signal.

In other features, a predicted zero-crossing detection module generatesan inversion signal based on predicted zero-crossings of the input ACline signal and predicts the zero-crossings based on the input AC linesignal, wherein the PFC duty cycles are inverted based on the inversionsignal.

In other features, full inversion of the PFC duty cycles occurs over afirst length of time, the predicted zero-crossing detection moduleswitches a state of the inversion signal based on a predictedzero-crossing of an advanced version of the input AC line signal, andthe predicted zero-crossing detection module generates the advancedversion of the input AC line signal by predicting ahead by a timeadvance, wherein the time advance is based on a sum of a control systemdelay of the PFC system and half of the first length of time.

In other features, the predicted zero-crossing detection modulegenerates the advanced version of the input AC line signal byextrapolating a present value of the input AC line signal by the timeadvance along a present gradient of the sinusoidal reference signal.

In other features, a notch filter generates a filtered AC signal byfiltering out a predetermined frequency of the input AC line signal,wherein the predetermined frequency is based on a control system delayof the PFC system, the compensation module generates the N compensatedversions of the input AC line signal by predicting ahead of the filteredAC signal, and the predicted zero-crossing detection module predicts thezero-crossings based on the filtered AC signal.

In other features, a notch filter generates a filtered AC signal byfiltering out a predetermined frequency of the input AC line signal,wherein the predetermined frequency is based on a control system delayof the PFC system, and the compensation module generates the Ncompensated versions of the input AC line signal by predicting ahead ofthe filtered AC signal.

In other features, for each version of the N compensated versions of theinput AC line signal, the compensation module generates the version byextrapolating a present value of the input AC line signal by acorresponding one of the N time advances along a present gradient of thesinusoidal reference signal.

In other features, the (N−1) time advance adjustments are based ondifferences between N measured currents having different phases, whereinN is an integer greater than one. In other features, the N predeterminedtime advances are set at design time.

A method for power factor correction (PFC) includes generating N timeadvances based on N predetermined time advances and (N−1) time advanceadjustments, wherein N is an integer greater than zero, generating Ncompensated versions of an input alternating current (AC) line signal bypredicting ahead of the input AC line signal using a gradient of asinusoidal reference signal and the N time advances, respectively,wherein the sinusoidal reference signal is synchronized with the inputAC line signal in phase and frequency, and generating PFC duty cyclesbased on the N compensated versions of the input AC line signal.

In other features, the method includes generating an inversion signalbased on predicted zero-crossings of the input AC line signal,predicting the zero-crossings based on the input AC line signal, andinverting the PFC duty cycles based on the inversion signal.

In other features, full inversion of the PFC duty cycles occurs over afirst length of time, and the method includes switching a state of theinversion signal based on a predicted zero-crossing of an advancedversion of the input AC line signal, and generating the advanced versionof the input AC line signal by predicting ahead by a time advance,wherein the time advance is based on a sum of a control system delay ofa PFC system and half of the first length of time. In other features,the method includes generating the advanced version of the input AC linesignal by extrapolating a present value of the input AC line signal bythe time advance along a present gradient of the sinusoidal referencesignal.

In other features, the method includes generating a filtered AC signalby filtering out a predetermined frequency of the input AC line signalusing a notch filter, wherein the predetermined frequency is based on acontrol system delay of a PFC system. In other features, the methodincludes generating the N compensated versions of the input AC linesignal by predicting ahead of the filtered AC signal, and predicting thezero-crossings based on the filtered AC signal.

In other features, the method includes generating a filtered AC signalby filtering out a predetermined frequency of the input AC line signalusing a notch filter, wherein the predetermined frequency is based on acontrol system delay of a PFC system, and generating the N compensatedversions of the input AC line signal by predicting ahead of the filteredAC signal.

In other words, the method includes for each version of the Ncompensated versions of the input AC line signal, generating the versionby extrapolating a present value of the input AC line signal by acorresponding one of the N time advances along a present gradient of thesinusoidal reference signal.

In other features, the (N−1) time advance adjustments are based ondifferences between N measured currents having different phases, whereinN is an integer greater than one. In other features, the N predeterminedtime advances are set at design time.

A method for power factor correction (PFC) includes receiving an inputalternating current (AC) line signal, generating a filtered AC signal byfiltering out a predetermined frequency of the input AC line signalusing a notch filter, wherein the predetermined frequency is based on acontrol system delay of a PFC system, generating a sinusoidal referencesignal that is synchronized with the input AC line signal in phase andfrequency, generating N time advances based on N predetermined timeadvances and (N−1) time advance adjustments, wherein N is an integergreater than zero, for each of N compensated versions of the input ACline signal, generating the version by extrapolating a present value ofthe filtered AC line signal by a corresponding one of the N timeadvances along a present gradient of the sinusoidal reference signal,generating PFC duty cycles based on the N compensated versions of theinput AC line signal, predicting zero-crossings based on the filtered ACline signal, generating an inversion signal based on predictedzero-crossings of the filtered AC line signal, inverting the PFC dutycycles based on the inversion signal, generating an advanced version ofthe filtered AC line signal by predicting ahead by a time advance thatincludes a sum of a control system delay of a PFC system and half of atime for full inversion of the PFC duty cycles, and switching a state ofthe inversion signal based on a predicted zero-crossing of the advancedversion of the filtered AC line signal.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description provided hereinafter. It shouldbe understood that the detailed description and specific examples areintended for purposes of illustration only and are not intended to limitthe scope of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will become more fully understood from thedetailed description and the accompanying drawings, wherein:

FIG. 1 is a functional block diagram of an example refrigeration system;

FIG. 2 is a functional block diagram of an example drive controller andan example compressor;

FIGS. 3 a-3 c are simplified schematics of example power factorcorrection (PFC) modules;

FIGS. 4 a-4 c are simplified schematics of example inverter powermodules and example motors;

FIG. 5 is a functional block diagram of an example PFC control module;

FIG. 6 is a functional block diagram of an example pulse-widthmodulation (PWM) drive module;

FIG. 7 is a functional block diagram of an example voltage controlmodule;

FIG. 8 is a functional block diagram of an example current controlmodule;

FIG. 9 is a functional block diagram of an example duty cycle conversionmodule;

FIG. 10 is a functional block diagram of an example delay compensationmodule;

FIG. 11 is a functional block diagram of an example current balancingmodule; and

FIG. 12 is a flow diagram of an example method for compensating fordelay.

DETAILED DESCRIPTION

The following description is merely illustrative in nature and is in noway intended to limit the disclosure, its application, or uses. Forpurposes of clarity, the same reference numbers will be used in thedrawings to identify similar elements. As used herein, the phrase atleast one of A, B, and C should be construed to mean a logical (A or Bor C), using a non-exclusive logical or. It should be understood thatsteps within a method may be executed in different order withoutaltering the principles of the present disclosure.

As used herein, the term module may refer to, be part of, or include anApplication Specific Integrated Circuit (ASIC); an electronic circuit; acombinational logic circuit; a field programmable gate array (FPGA); aprocessor (shared, dedicated, or group) that executes code; othersuitable components that provide the described functionality; or acombination of some or all of the above, such as in a system-on-chip.The term module may include memory (shared, dedicated, or group) thatstores code executed by the processor.

The term code, as used above, may include software, firmware, and/ormicrocode, and may refer to programs, routines, functions, classes,and/or objects. The term shared, as used above, means that some or allcode from multiple modules may be executed using a single (shared)processor. In addition, some or all code from multiple modules may bestored by a single (shared) memory. The term group, as used above, meansthat some or all code from a single module may be executed using a groupof processors. In addition, some or all code from a single module may bestored using a group of memories.

The apparatuses and methods described herein may be implemented by oneor more computer programs executed by one or more processors. Thecomputer programs include processor-executable instructions that arestored on a non-transitory tangible computer readable medium. Thecomputer programs may also include stored data. Non-limiting examples ofthe non-transitory tangible computer readable medium are nonvolatilememory, magnetic storage, and optical storage.

Referring now to FIG. 1, a functional block diagram of a refrigerationsystem 100 is presented. The refrigeration system 100 may include acompressor 102, a condenser 104, an expansion valve 106, and anevaporator 108. According to the principles of the present disclosure,the refrigeration system 100 may include additional and/or alternativecomponents. In addition, the present disclosure is applicable to othersuitable types of refrigeration systems including, but not limited to,heating, ventilating, and air conditioning (HVAC), heat pump,refrigeration, and chiller systems.

The compressor 102 receives refrigerant in vapor form and compresses therefrigerant. The compressor 102 provides pressurized refrigerant invapor form to the condenser 104. The compressor 102 includes an electricmotor that drives a pump. For example only, the pump of the compressor102 may include a scroll compressor and/or a reciprocating compressor.

All or a portion of the pressurized refrigerant is converted into liquidform within the condenser 104. The condenser 104 transfers heat awayfrom the refrigerant, thereby cooling the refrigerant. When therefrigerant vapor is cooled to a temperature that is less than asaturation temperature, the refrigerant transforms into a liquid (orliquefied) refrigerant. The condenser 104 may include an electric fanthat increases the rate of heat transfer away from the refrigerant.

The condenser 104 provides the refrigerant to the evaporator 108 via theexpansion valve 106. The expansion valve 106 controls the flow rate atwhich the refrigerant is supplied to the evaporator 108. The expansionvalve 106 may include a thermostatic expansion valve or may becontrolled electronically by, for example, a system controller 130. Apressure drop caused by the expansion valve 106 may cause a portion ofthe liquefied refrigerant to transform back into the vapor form. In thismanner, the evaporator 108 may receive a mixture of refrigerant vaporand liquefied refrigerant.

The refrigerant absorbs heat in the evaporator 108. Liquid refrigeranttransitions into vapor form when warmed to a temperature that is greaterthan the saturation temperature of the refrigerant. The evaporator 108may include an electric fan that increases the rate of heat transfer tothe refrigerant.

A utility 120 provides power to the refrigeration system 100. Forexample only, the utility 120 may provide single-phase alternatingcurrent (AC) power at approximately 230 Volts (V) root mean squared(RMS) or at another suitable voltage. In various implementations, theutility 120 may provide three-phase power at approximately 400 Volts RMSor 480 Volts RMS at a line frequency of, for example, 50 or 60 Hz. Theutility 120 may provide the AC power to the system controller 130 via anAC line. The AC power may also be provided to a drive controller 132 viathe AC line.

The system controller 130 controls the refrigeration system 100. Forexample only, the system controller 130 may control the refrigerationsystem 100 based on user inputs and/or parameters measured by varioussensors (not shown). The sensors may include pressure sensors,temperature sensors, current sensors, voltage sensors, etc. The sensorsmay also include feedback information from the drive control, such asmotor currents or torque, over a serial data bus or other suitable databuses.

A user interface 134 provides user inputs to the system controller 130.The user interface 134 may additionally or alternatively provide theuser inputs to the drive controller 132. The user inputs may include,for example, a desired temperature, requests regarding operation of afan (e.g., the evaporator fan), and/or other suitable inputs. The systemcontroller 130 may control operation of the fans of the condenser 104,the evaporator 108, and/or the expansion valve 106.

The drive controller 132 may control the compressor 102 based oncommands from the system controller 130. For example only, the systemcontroller 130 may instruct the drive controller 132 to operate thecompressor motor at a certain speed. In various implementations, thedrive controller 132 may also control the condenser fan.

Referring now to FIG. 2, a functional block diagram of the drivecontroller 132 and the compressor 102 is presented. An electromagneticinterference (EMI) filter 202 reduces EMI that might otherwise beinjected back onto the AC line by the drive controller 132. The EMIfilter 202 may also filter EMI carried on the AC line.

A power factor correction (PFC) module 204 receives AC power from the ACline as filtered by the EMI filter 202. The PFC module 204 (described inmore detail with reference to FIGS. 3 a, 3 b, and 3 c) rectifies the ACpower, thereby converting the AC input power into direct current (DC)power. The generated DC power is provided at positive and negativeterminals of the PFC module 204. The PFC module 204 also selectivelyprovides power factor correction between the input AC power and thegenerated DC power.

The PFC module 204 selectively boosts the AC power to a DC voltage thatis greater than a peak voltage of the AC power. For example only, thePFC module 204 may operate in a passive mode, where the DC voltagegenerated is less than a peak voltage of the AC power. The PFC module204 may also operate in an active mode, where the DC voltage generatedis greater than the peak voltage of the AC power. A DC voltage that isgreater than the peak voltage of the AC power may be referred to as aboosted DC voltage.

AC power having an RMS voltage of 230 V has a peak voltage ofapproximately 325 V (230 V multiplied by the square root of 2). Forexample only, when operating from AC power having an RMS voltage of 230V, the PFC module 204 may generate boosted DC voltages betweenapproximately 350 V and approximately 410 V. For example only, the lowerlimit of 350 V may be imposed to avoid unstable operating regimes of thePFC module 204. The limits may vary, such as with the actual AC inputvoltage value. In various implementations, the PFC module 204 may beable to achieve higher boosted DC voltages than 410 V. However, theupper limit may be imposed to improve long-term reliability ofcomponents that would experience greater stress at higher voltages, suchas components in a DC filter 206. In various implementations, the upperand/or lower limits may be varied.

The DC filter 206 filters the DC power generated by the PFC module 204.The DC filter 206 minimizes ripple voltage present in the DC power thatresults from the conversion of AC power to DC power. In variousimplementations, the DC filter 206 may include one or more series orparallel filter capacitors connected between the positive and negativeterminals of the PFC module 204. In such implementations, the positiveand negative terminals of the PFC module 204 may be connected directlyto positive and negative terminals of an inverter power module 208.

The inverter power module 208 (described in more detail with referenceto FIGS. 4 a, 4 b, and 4 c) converts the DC power, as filtered by the DCfilter 206, into AC power that is provided to the compressor motor. Forexample only, the inverter power module 208 may convert the DC powerinto three-phase AC power and provide the phases of the AC power tothree respective windings of the motor of the compressor 102. In otherimplementations, the inverter power module 208 may convert the DC powerinto more or fewer phases of power.

A DC-DC power supply 220 may also receive the filtered DC power. TheDC-DC power supply 220 converts the DC power into one or more DCvoltages that are suitable for various components and functions. Forexample only, the DC-DC power supply 220 may reduce the voltage of theDC power to a first DC voltage that is suitable for powering digitallogic and a second DC voltage that is suitable for controlling switcheswithin the PFC module 204. For example only, the second DC voltage maybe selectively applied to gate terminals of the switches. In variousimplementations, DC power may be provided by another DC power source(not shown)—for example, a DC voltage derived via a transformer from themain 230 VAC input.

In various implementations, the first DC voltage may be approximately3.3 V and the second DC voltage may be approximately 15 V. In variousimplementations, the DC-DC power supply 220 may also generate a third DCvoltage. For example only, the third DC voltage may be approximately 1.2V. The third DC voltage may be derived from the first DC voltage using avoltage regulator. For example only, the third DC voltage may be usedfor core digital logic and the first DC voltage may be used forinput/output circuitry of a PFC control module 250 and a motor controlmodule 260.

The PFC control module 250 controls the PFC module 204, and the motorcontrol module 260 controls the inverter power module 208. In variousimplementations, the PFC control module 250 controls switching of theswitches within the PFC module 204, and the motor control module 260controls switching of switches within the inverter power module 208. ThePFC module 204 may be implemented with 1, 2, 3, or more phases.

A supervisor control module 270 may communicate with the systemcontroller 130 via a communications module 272. The communicationsmodule 272 may include an input/output port and other suitablecomponents to serve as an interface between the system controller 130and the supervisor control module 270. The communications module 272 mayimplement wired and/or wireless protocols.

The supervisor control module 270 provides various commands to the PFCcontrol module 250 and the motor control module 260. For example, thesupervisor control module 270 may provide a commanded speed to the motorcontrol module 260. The commanded speed corresponds to a desiredrotational speed of the motor of the compressor 102.

In various implementations, the commanded compressor speed may beprovided to the supervisor control module 270 by the system controller130. In various implementations, the supervisor control module 270 maydetermine or adjust the commanded compressor speed based on inputsprovided via the communications module 272 and/or parameters measured byvarious sensors (i.e., sensor inputs). The supervisor control module 270may also adjust the commanded compressor speed based on feedback fromthe PFC control module 250 and/or the motor control module 260.

The supervisor control module 270 may also provide other commands to thePFC control module 250 and/or the motor control module 260. For example,based on the commanded speed, the supervisor control module 270 maycommand the PFC control module 250 to produce a commanded bus voltage.The supervisor control module 270 may adjust the commanded bus voltagebased on additional inputs, such as operating parameters of the inverterpower module 208 and the measured voltage of the incoming AC line.

The supervisor control module 270 may diagnose faults in various systemsof the drive controller 132. For example only, the supervisor controlmodule 270 may receive fault information from the PFC control module 250and/or the motor control module 260. The supervisor control module 270may also receive fault information via the communications module 272.The supervisor control module 270 may manage reporting and clearing offaults between the drive controller 132 and the system controller 130.

Responsive to the fault information, the supervisor control module 270may instruct the PFC control module 250 and/or the motor control module260 to enter a fault mode. For example only, in the fault mode, the PFCcontrol module 250 may halt switching of the switches of the PFC module204, while the motor control module 260 may halt switching of theswitches of the inverter power module 208. In addition, the motorcontrol module 260 may directly provide fault information to the PFCcontrol module 250. In this way, the PFC control module 250 can respondto a fault identified by the motor control module 260 even if thesupervisor control module 270 is not operating correctly and vice versa.

The PFC control module 250 may control switches in the PFC module 204using pulse width modulation (PWM). More specifically, the PFC controlmodule 250 may generate PWM signals that are applied to the switches ofthe PFC module 204. The duty cycle of the PWM signals is varied toproduce desired currents in the switches of the PFC module 204. Thedesired currents are calculated based on an error between the measuredDC bus voltage and a desired DC bus voltage. In other words, the desiredcurrents are calculated in order to achieve the desired DC bus voltage.The desired currents may also be based on achieving desired power factorcorrection parameters, such as the shapes of current waveforms in thePFC module 204. The PWM signals generated by the PFC control module 250may be referred to as PFC PWM signals.

The motor control module 260 may control switches in the inverter powermodule 208 using PWM in order to achieve the commanded compressor speed.The PWM signals generated by the motor control module 260 may bereferred to as inverter PWM signals. The duty cycle of the inverter PWMsignals controls the current through the windings of the motor (i.e.,motor currents) of the compressor 102. The motor currents control motortorque, and the motor control module 260 may control the motor torque toachieve the commanded compressor speed.

In addition to sharing fault information, the PFC control module 250 andthe motor control module 260 may also share data. For example only, thePFC control module 250 may receive data from the motor control module260 such as load, motor currents, estimated motor torque, invertertemperature, duty cycle of the inverter PWM signals, and other suitableparameters. The PFC control module 250 may also receive data from themotor control module 260, such as the measured DC bus voltage. The motorcontrol module 260 may receive data from the PFC control module 250 suchas AC line voltage, current(s) through the PFC module 204, estimated ACpower, PFC temperature, commanded bus voltage, and other suitableparameters.

In various implementations, some or all of the PFC control module 250,the motor control module 260, and the supervisor control module 270 maybe implemented on an integrated circuit (IC) 280. For example only, theIC 280 may include a digital signal processor (DSP), a fieldprogrammable gate array (FPGA), a microprocessor, etc. In variousimplementations, additional components may be included in the IC 280.Additionally, various functions shown inside the IC 280 in FIG. 2 may beimplemented external to the IC 280, such as in a second IC or indiscrete circuitry. For example only, the supervisor control module 270may be integrated with the motor control module 260.

FIG. 3 a is a schematic of an example implementation of the PFC module204. The PFC module 204 receives AC power via first and second AC inputterminals 302 and 304. The AC power may be, for example, the AC poweroutput by the EMI filter 202. In various implementations, the signals atthe first and second AC input terminals 302 and 304 may both betime-varying with respect to an earth ground. The PFC module 204 outputsDC power to the DC filter 206 and the inverter power module 208 via apositive DC terminal 306 and a negative DC terminal 308.

An anode of a first rectifier diode 310 is connected to the second ACinput terminal 304, and a cathode of the first rectifier diode 310 isconnected to the positive DC terminal 306. An anode of a secondrectifier diode 312 is connected to the negative DC terminal 308, and acathode of the second rectifier diode 312 is connected to the second ACinput terminal 304. Each of the rectifier diodes 310 and 312 may beimplemented as one or more individual series or parallel diodes.

A switch block 320 is connected between the positive and negative DCterminals 306 and 308. The switch block 320 includes a first PFC leg 330that includes first and second switches 332 and 334. The switches 332and 334 each include a first terminal, a second terminal, and a controlterminal. In various implementations, each of the switches 332 and 334may be implemented as an insulated gate bipolar transistor (IGBT). Insuch implementations, the first, second, and control terminals maycorrespond to collector, emitter, and gate terminals, respectively.

The first terminal of the first switch 332 is connected to the positiveDC terminal 306. The second terminal of the first switch 332 isconnected to the first terminal of the second switch 334. The secondterminal of the second switch 334 may be connected to the negative DCterminal 308. In various implementations, the second terminal of thesecond switch 334 may be connected to the negative DC terminal 308 via ashunt resistor 380 to enable measuring current flowing through the firstPFC leg 330.

The control terminals of the switches 332 and 334 receive generallycomplementary PFC PWM signals from the PFC control module 250. In otherwords, the PFC PWM signal provided to the first switch 332 is oppositein polarity to the PFC PWM signal provided to the second switch 334.Short circuit current may flow when the turning on of one of theswitches 332 and 334 overlaps with the turning off of the other of theswitches 332 and 334. Therefore, both the switches 332 and 334 may beturned off during a deadtime before either one of the switches 332 and334 is turned on. Therefore, generally complementary means that twosignals are opposite for most of their periods. However, aroundtransitions, both signals may be low or high for some overlap period.

The first PFC leg 330 may also include first and second diodes 336 and338 connected anti-parallel to the switches 332 and 334, respectively.In other words, an anode of the first diode 336 is connected to thesecond terminal of the first switch 332, and a cathode of the firstdiode 336 is connected to the first terminal of the first switch 332. Ananode of the second diode 338 is connected to the second terminal of thesecond switch 334, and a cathode of the second diode 338 is connected tothe first terminal of the second switch 334.

The switch block 320 may include one or more additional PFC legs. Invarious implementations, the switch block 320 may include one additionalPFC leg. As shown in FIG. 3 a, the switch block 320 includes second andthird PFC legs 350 and 360. The number of PFC legs included in theswitch block 320 may be chosen based on performance and cost. Forexample only, the magnitude of ripple (voltage and current) in the DCoutput of the PFC module 204 may decrease as the number of PFC legsincreases. In addition, the amount of ripple current in the AC linecurrent may decrease as the number of PFC legs increase. However, partscosts and implementation complexity may increase as the number of PFClegs increases.

The second and third PFC legs 350 and 360 of the switch block 320 may besimilar to the first PFC leg 330. For example only, the second and thirdPFC legs 350 and 360 may each include respective components for theswitches 332 and 334, the diodes 336 and 338, and respective shuntresisters connected in the same manner as the first PFC leg 330.

The PFC PWM signals provided to the switches of the additional PFC legsmay also be complementary in nature. The PFC PWM signals provided to theadditional PFC legs may be phase shifted from each other and from thePFC PWM signals provided to the first PFC leg 330. For example only, thephase shift of the PFC PWM signals may be determined by dividing 360degrees (°) by the number of PFC legs. For example, when the switchblock 320 includes three PFC legs, the PFC PWM signals may be phaseshifted from each other by 120° (or 180° for two phases, or 90° for fourphases, etc.). Phase shifting the PFC PWM signals may cancel ripple inthe AC line current as well as the DC output.

The PFC module 204 includes a first inductor 370. The first inductor 370is connected between the first AC input terminal 302 and the secondterminal of the first switch 332. Additional inductors may connect thefirst AC input terminal 302 to additional PFC legs. For example only,FIG. 3 a shows a second inductor 372 and a third inductor 374 connectingthe first AC input terminal 302 to the second and third PFC legs 350 and360, respectively.

A voltage may be measured across the shunt resistor 380 to determinecurrent through the first PFC leg 330 according to Ohm's law. Anamplifier (not shown), such as an operational amplifier, may amplify thevoltage across the shunt resistor 380. The amplified voltage may bedigitized, buffered, and/or filtered to determine the current throughthe first PFC leg 330. Current through other PFC legs may be determinedusing respective shunt resistors.

Additionally or alternatively, a resistor 382 may be connected in serieswith the negative DC terminal 308, as shown in FIG. 3 b. Current throughthe resistor 382 may therefore indicate a total current output from thePFC module 204. Current through each of the PFC legs 330, 350, and 360may be inferred from the total current based on the known phase timingof the current through the PFC legs 330, 350, and 360.

Any method of measuring or sensing current through any or all of the PFClegs 330, 350, 360 may be used. For example, in various implementations,the current through the first PFC leg 330 may be measured using acurrent sensor 387 (as shown in FIG. 3 c). For example only, the currentsensor 387 may be implemented in series with the first inductor 370. Invarious implementations, the current sensor 387 may include aHall-effect sensor that measures the current through the first PFC leg330 based on magnetic flux around the first inductor 370. Currentthrough the PFC legs 350 and 360 may also be measured using associatedcurrent sensors 388 and 389, respectively.

The PFC module 204 may also include first and second bypass diodes 390and 392. An anode of the first bypass diode 390 is connected to thefirst AC input terminal 302, and a cathode of the first bypass diode 390is connected to the positive DC terminal 306. An anode of the secondbypass diode 392 is connected to the negative DC terminal 308, and acathode of the second bypass diode 392 is connected to the first ACinput terminal 302.

The bypass diodes 390 and 392 may be power diodes, which may be designedto operate at low frequencies, such as, for example, frequencies lessthan approximately 100 Hz or approximately 200 Hz. Resistance of thebypass diodes 390 and 392 may be less than resistance of the inductors370, 372, and 374. Therefore, when the switches 332 and 334 within theswitch block 320 are not being switched, current may flow through thebypass diodes 390 and 392 instead of the diodes 336 and 338.

When the PFC module 204 is operating to create a boosted DC voltage, theboosted DC voltage will be greater than a peak voltage on the AC line.The bypass diodes 390 and 392 will therefore not be forward biased andwill remain inactive. The bypass diodes 390 and 392 may providelightning strike protection and power surge protection.

In various implementations, the bypass diodes 390 and 392 may beimplemented with the rectifier diodes 310 and 312 in a single package.For example only, Vishay model number 26MT or 36MT or InternationalRectifier, model number 26 MB or 36 MB may be used as the bypass diodes390 and 392 and the rectifier diodes 310 and 312. The rectifier diodes310 and 312 carry current whether the PFC module 204 is generating aboosted DC voltage or not. Therefore, in various implementations, eachof the rectifier diodes 310 and 312 may be implemented as two physicaldiodes connected in parallel. Current sensors may be used to measure PFCphase currents in series with the inductors 370, 372, and 374.

Referring now to FIG. 4 a, a simplified schematic of a motor 400 and anexample implementation of the inverter power module 208 is presented.The motor 400 is a component of the compressor 102 of FIG. 2. However,the principles of FIGS. 4 a-4 c may apply to other motors, including amotor of the condenser 104. The inverter power module 208 includes aswitch block 402. In various implementations, the switch block 402 andthe switch block 320 of the PFC module 204 may be implemented using asimilar part. For example only, in FIG. 4 a, a first inverter leg 410includes first and second switches 420 and 422 and first and seconddiodes 424 and 426, which are arranged similarly to the switches 332 and334 and the diodes 336 and 338 of FIG. 3 a.

The switch block 402 receives the filtered DC voltage from the DC filter206 via a positive DC terminal 404 and a negative DC terminal 406. Thefirst terminal of the first switch 420 may be connected to the positiveDC terminal 404, while the second terminal of the second switch 422 maybe connected to the negative DC terminal 406. The control terminals ofthe switches 420 and 422 receive generally complementary inverter PWMsignals from the motor control module 260.

The switch block 402 may include one or more additional inverter legs.In various implementations, the switch block 402 may include oneinverter leg for each phase or winding of the motor 400. For exampleonly, the switch block 402 may include second and third inverter legs430 and 440, as shown in FIG. 4 a. The inverter legs 410, 430, and 440may provide current to windings 450, 452, and 454 of the motor 400,respectively. The windings 454, 452, and 450 may be referred to aswindings a, b, and c, respectively. Voltage applied to the windings 454,452, and 450 may be referred to as Va, Vb, and Vc, respectively. Currentthrough the windings 454, 452, and 450 may be referred to as Ia, Ib, andIc, respectively.

For example only, first ends of the windings 450, 452, and 454 may beconnected to a common node. Second ends of the windings 450, 452, and454 may be connected to the second terminal of the first switch 420 ofthe inverter legs 410, 430, and 440, respectively.

The inverter power module 208 may also include a shunt resistor 460 thatis associated with the first inverter leg 410. The shunt resistor 460may be connected between the second terminal of the second switch 422and the negative DC terminal 406. In various implementations, respectiveshunt resistors may be located between each of the inverter legs 430 and440 and the negative DC terminal 406. For example only, current throughthe first winding 450 of the motor 400 may be determined based on thevoltage across the shunt resistor 460 of the first inverter leg 410. Invarious implementations, the shunt resistor of one of the inverter legs410, 430, or 440 may be omitted. In such implementations, current may beinferred based on the measurements of the remaining shunt resistors.

Additionally or alternatively, a resistor 462 may be connected in serieswith the negative DC terminal 406, as shown in FIG. 4 b. Current throughthe resistor 462 may therefore indicate a total current consumed by theinverter power module 208. Current through each of the inverter legs410, 430, and 440 may be inferred from the total current based on theknown phase timing of the current through the inverter legs 410, 430,and 440. Further discussion of determining currents in an inverter canbe found in commonly assigned U.S. Pat. No. 7,193,388, issued Mar. 20,2007, which is incorporated by reference herein in its entirety.

Any method of measuring or sensing current through any or all of theinverter legs 410, 430, and 440 may be used. For example, in variousimplementations, the current through the first inverter leg 410 may bemeasured using a current sensor 487 (shown in FIG. 4 c). For exampleonly, the current sensor 487 may be implemented between the firstinverter leg 410 and the first winding 450. Current through the inverterlegs 430 and 440 may also be measured using associated current sensors488 and 489, respectively. In various implementations, current sensorsmay be associated with two of the inverter legs 410, 430, and 440. Thecurrent through the other one of the inverter legs 410, 430, and 440 maybe determined based on an assumption that the current in the motorwindings sums to zero.

Referring now to FIG. 5, a functional block diagram of an exampleimplementation of the PFC control module 250 is shown. The PFC controlmodule 250 receives a commanded bus voltage, which may be from thesupervisor control module 270 of FIG. 2. A saturation module 504 mayapply limits to the commanded bus voltage. As used herein, a saturationmodule may selectively enforce a lower limit, an upper limit, both upperand lower limits, or neither limit. The upper and lower limits may bepredetermined and/or may be updated based upon various factors.

For example only, if an upper limit is being enforced, the saturationmodule 504 limits the commanded bus voltage to the upper limit when thecommanded bus voltage is greater than the upper limit. Similarly, if alower limit is being enforced, the saturation module 504 limits thecommanded bus voltage to the lower limit when the commanded bus voltageis less than the lower limit.

In various implementations, the upper limit may be set based onrecommended operating parameters of the circuit components. For exampleonly, the upper limit may be set based on a desired life expectancy ofcapacitors in the DC filter 206. For example only, the upper limit maybe 410 V. The upper limit may be reduced to increase the expectedoperational lifetime of the PFC control module 250. However, reducingthe upper limit may limit the speed the motor 400 can achieve at higherloads.

A rate limiter module 508 receives the commanded bus voltage as limitedby the saturation module 504. The rate limiter module 508 limits therate of change of the limited command bus voltage and outputs a desiredbus voltage. The applied rate limit reduces rapid changes in desired busvoltage that might otherwise cause rapid changes in current. Rapidchanges in current may cause the incoming AC line to sag and may alsocause oscillations and other control instability.

A PFC enable module 512 receives the enable request from the supervisorcontrol module 270 of FIG. 2 and generates a synchronized enable signalbased on the enable request. The synchronized enable signal may besynchronized to zero-crossings of the AC line. The synchronized enablesignal may be synchronized to the zero-crossings of the AC line in orderto minimize a sudden jump in current when the PFC control module 250 isenabled. This current jump may lead to control instability and mayintroduce distortions, such as a notch, to the AC line.

Because the AC line may be noisy, making it difficult to differentiatebetween true zero-crossings and noise, a reference signal may be used todetermine the zero-crossings. The reference signal is generated by areference generation module 520. The reference generation module 520receives an AC signal and generates a sinusoidal reference signal lockedto the phase and frequency of the AC signal but without the noise andother distortions of the AC signal. The AC signal entering the PFCcontrol module 250 may be an isolated, scaled down, and digitizedversion of the actual AC line.

In various implementations, the sinusoidal reference signal may begenerated in discrete time, with each point on the reference signalgenerated by evaluating a sinusoidal function, such as sine or cosine,whose arguments are the phase and frequency determined from the AC line.The phase and frequency may be recalculated at each time step, and theresulting sinusoidal reference signal may therefore not be a pure sinewave. Instead, the phase shift and frequency may vary over the course ofa period. The phase and frequency may both be low-pass filtered, such asby rate limiters, so that there are no abrupt changes in either thephase or frequency.

The reference generation module 520 outputs reference data including atleast the sinusoidal reference signal. The reference data may alsoinclude the frequency of the reference signal, the period of thereference signal, the time-varying angle of the reference signal, and/orthe time-varying derivative (or, gradient) of the reference signal. Thegradient may be generated by differentiating the reference signal.Alternatively, the gradient may be generated using a cosine functionwhose arguments are the determined phase and frequency. The gradient maybe generated in other ways, such as by using trigonometric identities.For example, the gradient may be generated using a sine function whosearguments are the determined frequency and 90 degrees plus thedetermined phase.

The reference data may also include a scaled version of the referencesignal and/or the gradient. The scaling factor may be based on the peakvoltage of the AC line. Because directly measuring the peak voltage maybe susceptible to noise on the AC line, the peak voltage may instead bedetermined by multiplying the mean voltage (which is less susceptible tonoise) by pi/2. As used herein, mean voltage refers to mean absolutevoltage, because without applying an absolute value function, the meanvalue of a zero-centered sinusoid would be zero.

In various implementations, the reference signal may be a unit signalvarying between −1 and 1. In various implementations, the angle may alsovary between −1 and 1, corresponding to −π and π in radians. Althoughthe period and frequency are simply inverses, they may both be providedto avoid having to later perform another computationally-intensivedivision to derive one from the other. The frequency may be used indetermining average values over single cycles of the AC line. Instead ofsumming values and dividing by the period, the summed values can bemultiplied by the frequency, which is mathematically equivalent but lesscomputationally-intensive.

At startup, the PFC enable module 512 outputs the synchronized enablesignal in an inactive state. After the PFC enable module 512 receivesthe enable request from the supervisor control module 270, the PFCenable module 512 waits for the reference data to indicate that the ACline is crossing zero. The PFC enable module 512 may then set thesynchronized enable signal to an active state. In variousimplementations, the PFC enable module 512 may change the synchronizedenable signal to the active state only at rising zero-crossings or onlyat falling zero-crossings.

When the synchronized enable signal transitions from the inactive stateto the active state, the rate limiter module 508 may initially outputthe measured bus voltage as the desired bus voltage. Subsequently, therate limiter module 508 may ramp the desired bus voltage up to thecommanded bus voltage as limited by the saturation module 504. The slopeof the ramp is determined by the rate limit imposed by the rate limitermodule 508. Although described as applying a linear rate limit, the ratelimiter module 508 may be implemented using any suitable alternative,such as a low-pass filter.

The PFC enable module 512 may receive information regarding operation ofthe motor control module 260 of FIG. 2. For example only, the motorcontrol module 260 may provide an inverter operation signal to the PFCenable module 512. The PFC enable module 512 may set the synchronizedenable signal to the inactive state when the inverter operation signalindicates that the inverter power module 208 is not operating. Undernormal operation, the supervisor control module 270 sets the enablerequest to the inactive state when the inverter power module 208 is notoperating. However, to protect against malfunctions of the supervisorcontrol module 270, the PFC enable module 512 may itself monitor theinverter operation signal. Monitoring the inverter operation signaldirectly may allow for faster response to stopping of the inverter powermodule 208.

The PFC enable module 512 also outputs an immediate enable signal, whichis received by a PWM drive module 530. When the immediate enable signalis in an active state, the PWM drive module 530 outputs PWM signals toswitches of the PFC module 204 of FIG. 2. When the immediate enablesignal is in an inactive state, the PWM drive module 530 haltsoutputting the PFC PWM signals. The immediate enable signal is set tothe inactive state any time the synchronized enable signal is in theinactive state.

There may be times during which the synchronized enable signal is in theactive state and the immediate enable signal is in the inactive state.This allows the PFC control module 250 to be disabled temporarily. Forexample only, the PFC enable module 512 may set the immediate enablesignal to the inactive state when a requested PWM duty cycle is outsideof an acceptable range. Additionally or alternatively, the PFC enablemodule 512 may set the immediate enable signal to the inactive statewhen a negative current demand is requested, as described below.

Further, the PFC enable module 512 may set the immediate enable signalto the inactive state when the reference signal from the referencegeneration module 520 differs too significantly from the AC signal. Ineach of these situations, the immediate enable signal may be set to theinactive state while the condition is present and reset to the activestate once the condition is no longer present. The immediate enablesignal may be set to the active state immediately after the conditionends or when one or more further conditions are satisfied, such as aftera predetermined length of time or when more stringent error thresholdsare met.

A voltage control module 540 receives the desired bus voltage from therate limiter module 508 and receives the measured bus voltage. Thevoltage control module 540 executes an error control algorithm tominimize the difference between the desired bus voltage and the measuredbus voltage. The voltage control module 540 generates a control valuebased on the error. The control value is used to determine asteady-state current demand. This steady-state current demand isconverted into a sinusoidal current based on the reference signal. Thisinstantaneous current is referred to as a non-offset desiredinstantaneous current.

A summing module 546 adds a DC correction factor from a DC offset module550 to the non-offset desired instantaneous current to generate adesired instantaneous current. The DC offset module 550 receives ameasured current value for each of the phases of the PFC module 204.Although a three-phase PFC module is described here for purposes ofillustration only, the principles of the present disclosure apply to PFCmodules having 1, 2, or more phases.

The DC offset module 550 averages the three phase currents together overone cycle (one period) of the AC signal to determine the amount of DCcurrent being drawn from the AC signal. The DC offset module 550generates the DC correction factor in order to reduce the calculatedamount of DC current to zero. The DC offset module 550 may receive thesynchronized enable signal, which resets operation of the DC offsetmodule 550 as the PFC control module 250 is enabled.

A current control module 560 receives the desired instantaneous currentfrom the summing module 546 and the first phase current. The currentcontrol module 560 executes an error control algorithm to minimize thedifference between the first phase current and the desired instantaneouscurrent.

The current through a given phase of the PFC module 204 may result froma voltage developed across the inductor corresponding to that phase. Thecurrent control module 560 therefore generates a desired instantaneousvoltage in order to adjust the first phase current toward the desiredinstantaneous current. The current control module 560 may reset itserror control algorithm when the immediate enable signal is in theinactive state or when the immediate enable signal transitions from theinactive state to the active state.

The desired instantaneous voltage is received by a duty cycle conversionmodule 570. The duty cycle conversion module 570 generates a PWM dutycycle that is calculated to produce the desired instantaneous voltagewhen applied to switches in the first phase of the PFC module 204. Invarious implementations, the duty cycle conversion module 570 maygenerate a different desired instantaneous duty cycle for each of thephases of the PFC module 204.

The relationship between the duty cycle applied to the switches and thevoltage appearing across the corresponding inductor is established bythe present DC bus voltage and the present voltage of the AC signal.Therefore, given the measured bus voltage and the present voltage of theAC signal, the duty cycle conversion module 570 can determine thedesired instantaneous duty cycle that will produce the desiredinstantaneous voltage.

However, delays present in the PFC control module 250 may cause thedesired instantaneous duty cycles to be incorrect. For example, by thetime the desired instantaneous duty cycle is applied to the PFC module204, the value of the AC signal may have changed. In addition, there maybe a delay between the time the AC signal was measured and the time whenthe measured value is being processed. Filters, which may be added forcontrol stability, may introduce additional delays.

To correct for these delays, the duty cycle conversion module 570 maygenerate the desired instantaneous duty cycles based not on the presentvalue of the AC signal but based on predicted future values of the ACsignal. A delay compensation module 580 may output predicted versions ofthe AC signal to the duty cycle conversion module 570.

The three phases of the PFC module 204 may be driven by PFC PWM signalsthat are 120 degrees out of phase with each other in a three-phasesystem. In a two-phase system, the two phases of the PFC module 204 maybe driven by PFC PWM signals that are 180 degrees out of phase with eachother. The delay from when a change in PWM duty cycle is requested untilthat change is reflected in the PFC PWM signals reaching the switches ofthe PFC module 204 may be different for each phase of the PFC module204.

As a result, the delay compensation module 580 may provide differentversions of the AC signal, each advanced by a slightly different amountthat takes into account the phase difference between the PFC PWMsignals. The delay compensation module 580 may predict future values ofthe AC signal based on the preset value of the AC signal and its presentslope, or gradient.

Because the AC signal may be noisy, an instantaneous derivative may notprovide an accurate prediction of a future value of the AC signal. Invarious implementations, a filter, such as a moving average or alow-pass filter, may be applied to the AC signal. In various otherimplementations, the derivative, or gradient, of the reference signalfrom the reference generation module 520 may be used as a more stablerepresentation of the slope of the AC signal. Because the referencesignal is phase locked to the AC signal, this should be an adequateestimation. Then, the delay compensation module 580 predicts a futurevalue of the AC signal by extrapolating from the present value of the ACsignal along the present slope of the reference signal.

A current balancing module 590 may reduce differences between thecurrents in the phases of the PFC module 204. One of the phases, calledphase A, may be chosen as a reference phase. The remaining phases arethen called subordinate phases. In a three-phase PFC module, theremaining two phases will be referred to as phase B and phase C.

The current balancing module 590 uses the current in phase A as areference, and attempts to control the phase B and C currents to matchthe phase A current. The phase currents may be compared based on astatistical measure over a single cycle of the AC signal. For example,the statistical measure may be a peak value, a mean squared value, aroot mean squared value, or a mean absolute value.

In order to adjust the currents of phases B and C, the current balancingmodule 590 provides an advance adjust signal to the delay compensationmodule 580 for each of phases B and C. The delay compensation module 580receives these two advance adjust signals and adjusts the amount ofadvance of the AC signal provided for phases B and C, respectively.

Therefore, the current balancing module 590 can adjust the relativeamounts of current in phases B and C by changing the amount of advanceof the AC signal used by the duty cycle conversion module 570 tocalculate the desired instantaneous duty cycles. The current balancingmodule 590 may attempt to achieve zero difference between measuredcurrents of the three phases. When the synchronized enable signaltransitions from the inactive state to the active state, the currentbalancing module 590 may reset the advance adjust signals.

The PWM drive module 530 receives the instantaneous duty cycles, eachcorresponding to one of the three phases, and generates complementaryswitch control signals for each phase. Therefore, for a system such asshown in FIG. 5 with three phases, six switch control signals will begenerated.

Referring now to FIG. 6, a functional block diagram of an exampleimplementation of the PWM drive module 530 is shown. The PWM drivemodule 530 includes first, second, and third PWM modules 604, 608, and612. The PWM modules 604, 608, and 612 receive the immediate enablesignal and disable their outputs when the immediate enable signal is inthe inactive state.

When the immediate enable signal is in the active state, the PWM modules604, 608, and 612 output pulse-width-modulated signals having dutycycles specified by the desired instantaneous duty cycles A, B, and C,respectively. Because each phase of the PFC module 204 includescomplementary switches, complementary versions of the outputs of the PWMmodules 604, 608, and 612 are generated by inverters 624, 628, and 632,respectively.

If the complementary switches in a given PFC phase were controlled withstrictly complementary control signals, there may be some overlapbetween one switch turning off and the other switch turning on. Whenboth switches are on, an undesirable short circuit current may flow.Therefore, a deadtime adjustment module 640 offsets the switching-ontime of one signal from the switching-off time of the other controlsignal.

For example only, the deadtime adjustment module 640 may slightlyadvance an off-going (active to inactive) control signal and slightlydelay an on-coming (inactive to active) control signal. In this way, anyoverlap between the conducting times of the complementary switches isavoided. Outputs of the deadtime adjustment module 640 are provided tothe switches of the PFC module 204.

Referring now to FIG. 7, a functional block diagram of an exampleimplementation of the voltage control module 540 is shown. The voltagecontrol module 540 includes an error control module 710 that receivesthe desired bus voltage from the rate limiter module 508 and themeasured bus voltage.

The error control module 710 generates a control value calculated tominimize the difference between the desired bus voltage and the measuredbus voltage. The control value may be adjusted by a saturation module720. An output of the saturation module 720 is received by a currentconversion module 730, which converts the control value into a currentdemand.

To linearize the current demand, the current conversion module 730 maydivide the control value by a measured parameter of the AC signal. Forexample only, the measured parameter may be a mean of the absolute valueof the AC signal or a root mean squared value of the AC signal.Therefore, as the measured parameter increases, the current demanddecreases. As a result, the current conversion module 730 automaticallyapplies an appropriate correction corresponding to the need forincreased current when the AC signal is smaller.

An update limit module 740 may restrict changes in the current demandfrom the current conversion module 730 to coincide with reference pointsof the AC signal. For example, the update limit module 740 may restrictchanges in the current demand to occur only at a rising zero-crossing ora falling zero-crossing of the AC signal—i.e., once per cycle. Byrestricting the update rate to once per cycle, the PFC control module250 controls the PFC module 204 uniformly across each AC cycle. Uniformcontrol throughout an AC cycle tends to cause symmetric power draw fromthe positive and negative portions of the AC line, thereby avoidingcurrent and power imbalance. A current or power imbalance may result inDC current being drawn from the AC line.

In various implementations, the update limit module 740 may restrictchanges in the current demand to occur at either zero-crossing of the ACsignal—i.e., once per half cycle. As a further alternative, the updatelimit module 740 may restrict changes in the current demand to otherincrements of the AC signal, such as once per quarter cycle. For exampleonly, the update limit module 740 may operate at a more restrictiveupdate rate, such as once per cycle, and then adapt to a faster updaterate, such as once per quarter cycle. This adaptation may be performedbased on load. For example only, large changes in load may cause theupdate limit module 740 to increase the update rate.

In various implementations, the load may be calculated based on valuesreceived from the motor control module 260 of FIG. 2, or the value ofthe load itself may be received directly from the motor control module260. For example only, the load may be inferred from changes in the DCbus voltage—a rapid change in DC bus voltage may be the result of alarge change in load. A faster update rate allows the PFC control module250 to quickly respond to large changes in load, which may be moreimportant than avoiding drawing imbalanced DC current from the AC line.Once the large change has passed, the update limit module 740 maydecrease the update rate.

In various implementations, the update limit module 740 may be omitted,or may be replaced or supplemented with a filter, such as a low-passfilter. The update limit module 740 may use the reference signal fromthe reference generation module 520 to determine when each cycle orhalf-cycle of the AC signal occurs.

An output of the update limit module 740 is called a current demandsignal. The current demand signal may be negative, which indicates thatmore current than is necessary to maintain the desired bus voltage isbeing provided by the PFC module 204. Because a negative current demandcan not be effectuated, the continuing presence of a negative currentdemand will result in the DC bus voltage rising and may eventually causean over-voltage trip condition.

The negative current demand is received by a saturation module 750,which may enforce a lower limit of 0. However, this does not correct theunderlying problem signified by the negative current demand—i.e., toomuch current being provided by the PFC module 204. Therefore, the PFCenable module 512 may set the immediate enable signal to the inactivestate when the current demand signal is zero or negative. This stops thePFC module 204 from continuing to provide excess current.

A multiplication module 760 multiplies an output of the saturationmodule 750 by the reference signal to create an instantaneous current.Because the reference signal is sinusoidal, the output of themultiplication module 760 is also sinusoidal. Because an offset willlater be applied, the output of the multiplication module 760 isreferred to as a non-offset desired instantaneous current.

Returning to the error control module 710, a subtraction module 770subtracts the measured bus voltage from the desired bus voltage todetermine a DC voltage error. A proportional module 774 multiplies theDC voltage error by a proportional constant. An integrator module 778combines the DC voltage error with a previous output of the integratormodule 778. The integrator module 778 may first multiply the DC voltageerror by an integral constant. The integrator module 778 may apply upperand/or lower limits to its output. In various implementations, thelimits applied by the integrator module 778 and the saturation module720 may vary based on a value of the AC signal, such as a mean absolutevalue.

The integrator module 778 may reset its output to zero when thesynchronized enable signal transitions to the inactive state ortransitions back to the active state. In various implementations, theintegrator module 778 may also reset its output to zero when theimmediate enable signal transitions to the inactive state or transitionsback to the active state. In various implementations, the proportionalconstant and/or the integrator constant may be set to zero to remove thecorresponding contribution of the proportional module 774 or theintegrator module 778.

A summing module 786 adds an output of the proportional module 774 tothe output of the integrator module 778. The sum from the summing module786 is output from the error control module 710 as the control value.Although the error control module 710 is shown for purposes ofillustration as a proportional-integral controller, error controlmodules in the present disclosure (including the error control module710) can be implemented in various other forms, such as using anon-linear controller. For example only, an error control module mayinclude a feed-forward component, which may be summed with a feedbackcomponent to generate a control value.

Referring now to FIG. 8, a functional block diagram of an exampleimplementation of the current control module 560 is shown. The currentcontrol module 560 includes first and second absolute value modules 810and 812. The first absolute value module 810 receives the desiredinstantaneous current from the summing module 546 of FIG. 5 and outputsits absolute value. The second absolute value module 812 receives thecurrent of one of the PFC phases and outputs its absolute value. Inthree-phase PFC systems, as illustrated here, the current of phase A maybe used, while in two-phase PFC systems, the current of phase B may beused.

An error control module 820 outputs a voltage value calculated tominimize the error between the absolute values of the desiredinstantaneous current and the phase A current. The voltage value isprocessed by a saturation module 830, and then by a notch filter module840, which applies a notch filter to the output of the saturation module830 to generate the desired instantaneous voltage. The notch filtermodule 840 may reduce oscillations that are created by delayed feedbackthrough the control system. For example only, the notch filter module840 may be implemented similarly to a notch filter module describedbelow with respect to FIG. 10.

The error control module 820 includes a subtraction module 850, aproportional module 854, an integrator module 858, and a summing module866, which may operate similarly to the subtraction module 770, theproportional module 774, the integrator module 778, and the summingmodule 786 of FIG. 7. The sum from the summing module 866 is output fromthe error control module 820 as the voltage value. The integrator module858 may reset its output to zero when the immediate enable signaltransitions to the inactive state or transitions back to the activestate. In various implementations, the integrator module 858 may alsoreset its output to zero when the synchronized enable signal transitionsto the inactive state or transitions back to the active state.

Referring now to FIG. 9, a functional block diagram of an exampleimplementation of the duty cycle conversion module 570 is shown. First,second, and third conversion modules 920-1, 920-2, and 920-3(collectively, conversion modules 920) receive the desired instantaneousvoltage from the current control module 560 also receive the measuredbus voltage. In addition, the conversion modules 920 receive compensatedAC signals A, B, and C, respectively, from the delay compensation module580.

Each of the compensated AC signals corresponds to a different one of thephases of the PFC module 204. Each of the conversion modules 920 outputsa duty cycle based on the desired instantaneous voltage. However,because the compensated AC signals A, B, and C may be shifted in time bythe delay compensation module 580, the duty cycle values may differ.

The conversion modules 920 may each calculate a duty cycle based on theexpression: (V_(desired)−(|V_(AC)|−V_(DC)))/V_(DC). In this expression,V_(desired) is the desired instantaneous voltage, V_(AC) is the value ofthe compensated AC signal, and V_(DC) is the measured bus voltage. Whenthe variation in V_(cc) is an order of magnitude less than that ofV_(AC), the benefit of predicting future values of V_(DC) may benegligible. Therefore, in various implementations, while V_(AC) is apredicted compensated value, V_(DC) is simply the present measured busvoltage.

Outputs of the conversion modules 920 are received by saturation modules930-1, 930-2, and 930-3 (collectively, saturation modules 930),respectively. The saturation modules 930 may enforce a lower limit onduty cycle in order to ensure that accurate current readings can bemade. For example, see FIG. 3 a, where a low duty cycle may result inthe shunt resistor 380 having insufficient current to generate accuratecurrent readings.

When the duty cycle applied to a lower switch (adjacent to a currentsensing resistor) is too low, measuring current through the currentsensing resistor may not be sufficiently accurate. For example, currentthrough a given one of the PFC legs may be measurable when current flowsthrough the lower switch of the given PFC leg for at least a minimumperiod of time. This minimum period of time corresponds to the minimumduty cycle. For example only, the minimum duty cycle may beapproximately 5%. In addition, the saturation modules 930 may apply acorresponding upper limit, such as 95%.

Inversion modules 940-1, 940-2, and 940-3 (collectively, inversionmodules 940) receive outputs from the saturation modules 930,respectively. Because the PFC switches are operating in a complementaryfashion, when a lower switch of an inverter leg is operating, forexample, at a 20% duty cycle, the upper switch in that same leg isoperating at an 80% duty cycle. When the AC line crosses zero, however,current from the AC line begins flowing in the opposite direction, andthe roles of the top and bottom switches are reversed. Once the AC linecrosses zero, the lower switch is still operating at a duty cycle of20%, but is effectively acting as the upper switch. Meanwhile, the upperswitch is still operating at a duty cycle of 80%, but is effectivelyacting as the lower switch. As a result, the effective duty cycle of thePFC leg switches from 80% to 20% when the AC line crosses zero.

To counteract this reversal, the inversion modules 940 either begininverting or stop inverting the duty cycles at each zero-crossing of theAC line. However, inverting a duty cycle is a large discontinuouschange. If the change does not coincide with the actual zero-crossing,large current fluctuations may be induced. Because identifying the timeof the zero-crossing may be difficult, the large discontinuous step induty cycle that would otherwise result from inversion may instead beimplemented as a ramp. The ramp prevents making a large discontinuousstep at the wrong time and spreads the error around the estimated timeof the zero-crossing.

In various implementations, rate limiting modules 950-1, 950-2, and950-3 (collectively, rate limiting modules 950) apply the ramp (e.g., arate limit) to outputs of the inversion modules 940, respectively.Outputs of the rate limiting modules 950 are the desired instantaneousduty cycles A, B, and C, respectively, which are provided to the PWMdrive module 530.

If the inversion modules 940 inverted exactly at the estimatedzero-crossing, the rate limiting modules 950 would ramp the duty cyclesignals to their new values solely after the zero-crossing. Instead,performing half of the ramp prior to the zero-crossing, leaving onlyhalf of the ramp after the zero-crossing, distributes the error moresymmetrically on the AC line. In addition, starting the ramp earlydecreases the error that would otherwise occur if the AC line crossedzero before the predicted zero-crossing time.

The inversion modules 940 perform the inversion based on an inversionsignal from the delay compensation module 580. In variousimplementations, the delay compensation module 580 reverses a polarityof the inversion signal at the time of each instructed inversion. Inother words, when the inversion signal switches to a first state, theinversion modules 940 begin inverting, and when the inversion signalswitches to a second state, the inversion modules 940 stop inverting. Tobegin the ramp early, the delay compensation module 580 advances thetiming of the inversion signal relative to the estimated occurrence ofthe zero-crossing.

For example only, if a rate-limited inversion of duty cycle from oneextreme to the other is performed over 4 PWM periods, the polarity ofthe inversion signal may be reversed 2 PWM periods before the estimatedtime of the zero-crossing. This time of 2 PWM periods is called aninversion advance. In various implementations, when the rate limitapplied by the rate limiting modules 950 is decreased, the amount ofinversion advance provided by the inversion signal is also increased. Asdescribed in more detail below, systematic control delays in the PFCcontrol module 250 may be accounted for by the delay compensation module580, which may increase the inversion advance to offset control delays.

A comparison module 960 may monitor the input and the output of thesaturation module 930-1. When the duty cycle at the output of thesaturation module 930-1 is greater than the duty cycle at the input ofthe saturation module 930-1, the comparison module 960 recognizes that alower limit on the duty cycle has been applied by the saturation module930-1.

An output of the comparison module 960 may be provided to the PFC enablemodule 512 to indicate that a low duty cycle request has been detected.When a low duty cycle request is detected, the PFC enable module 512 mayset the immediate enable signal to be inactive. This disables the PFCmodule 204 and allows the DC bus to decrease until a minimum duty cycle(such as 5%) is present. In various implementations, the comparisonmodule 960 may simply compare the input of the saturation module 930-1with a predetermined limit, which may be equal to the lower limit of thesaturation module 930-1.

Referring now to FIG. 10, a functional block diagram of an exampleimplementation of the delay compensation module 580 is shown. The delaycompensation module 580 includes a notch filter module 1010 that appliesa notch filter to the AC signal. For example only, control loop delaymay lead to closed-loop oscillation in the control values. The termcontrol loop delay may refer to a delay attributable to a time betweenwhen an increase (e.g., in current) is requested and when the increaseis observed in a measured current value.

In addition, changes in current demand may result in variations in theAC line. A current oscillation then creates an AC voltage oscillation,which feeds back to the current oscillation. In an example where thecontrol loop delay is 2 PWM periods, the period of oscillation may betwice the control delay, or 4 PWM periods. If the PWM switchingfrequency is, for example only, 20 kHz, the oscillation frequency wouldthen be one quarter of the PWM switching frequency, or 5 kHz.

The notch filter module 1010 may be centered at the oscillationfrequency to minimize the oscillation. In one example implementation,the notch filter module 1010 generates an output by adding the presentinput value of the notch filter module 1010 to the input value from 2PWM periods in the past and dividing the sum by two. In other words, thenotch filter may be implemented as the average of the present reading ofthe AC signal and the reading of the AC signal from 2 PWM periods prior.

Prediction modules 1020-1, 1020-2, and 1020-3 (collectively, predictionmodules 1020) receive the filtered AC signal from the notch filtermodule 1010. The prediction modules 1020 predict future values of thefiltered AC signal based on the reference data. For example, thereference gradient may be used. As described above, the referencegradient is the derivative of the sinusoidal reference signal, which isphase locked to the AC signal. The reference gradient therefore providesa noiseless estimation of the rate of change of the AC signal. Invarious implementations, the reference gradient is scaled to the peakvoltage of the AC signal.

How far into the future each of the prediction modules 1020 predict thefiltered AC signal is determined by a corresponding advance input. Theprediction module 1020-1 receives a base advance corresponding to phaseA. For example, the base advance may be determined at design time andstored in non-volatile memory. In various implementations, the amount ofadvance may be expressed in units of PWM periods or in units of time,such as seconds or microseconds. Base advances may be predefined for theprediction modules 1020-2 and 1020-3 as well. For example only, the baseadvances for the prediction modules 1020-1, 1020-2, and 1020-3 may be3.17 PWM periods, 3.08 PWM periods, and 3.25 PWM periods, respectively.

Based on input from the current balancing module 590, the base advancesfor phases B and C may be adjusted. For example, summing modules 1030-1and 1030-2 add advance adjust B and advance adjust C from the currentbalancing module 590 to base advance B and base advance C, respectively.Outputs of the summing modules 1030-1 and 1030-2 are used as the advanceinput for phases B and C by the prediction modules 1020-2 and 1020-3,respectively.

In various implementations, the prediction modules 1020 may calculatethe compensated AC signal by adding the filtered AC signal value to aproduct of the reference gradient and the specified advance. In otherwords, the prediction modules 1020 use a linear extrapolation of thefiltered AC signal based on the slope (gradient) of the referencesignal. Outputs of the prediction modules 1020 are provided to the dutycycle conversion module 570 as the compensated AC signals A, B, and C,respectively.

A predicted zero-crossing detection module 1040 predicts when azero-crossing of the AC signal will occur. The predicted zero-crossingdetection module 1040 may use the filtered AC signal from the notchfilter module 1010, as shown, or may use the raw AC signal. Thepredicted zero-crossing detection module 1040 may predict ahead by anamount equal to the control delay plus half of the time required forinversion of a duty cycle using a given rate limit. For example only,when the control delay is 3 PWM periods and the rate limit causes theinversion to take 4 PWM periods, the zero-crossing may be predictedahead by 5 PWM periods.

Once the predicted zero-crossing detection module 1040 predicts that theAC signal will cross zero, the predicted zero-crossing detection module1040 reverses the polarity of the inversion signal. This instructs theduty cycle conversion module 570 to either begin or stop inverting thedesired duty cycles. For example only, the predicted zero-crossingdetection module 1040 may output the inversion signal having a firststate until a predicted zero-crossing is reached, at which point theinversion signal is output having a second state. The inversion signalis switched back to the first state when the subsequent predictedzero-crossing is reached. For example only, the first state of theinversion signal may correspond to negative values of the AC signal,while the second state of the inversion signal may correspond topositive values of the AC signal.

Referring now to FIG. 11, a functional block diagram of an exampleimplementation of the current balancing module 590 is shown. The currentbalancing module 590 includes analysis modules 1120-1, 1120-2, and1120-3 (collectively, analysis modules 1120). The analysis modules 1120analyze one or more parameters of the phase currents of the PFC module204, respectively. For example only, the analysis modules 1120 maycalculate a value of the respective phase currents over a full cycle ofthe AC line. The value may be, for example, a root mean squared, a meansquared, a mean absolute value, or a peak.

The analysis modules 1120 may use the reference data from the referencegeneration module 520 to determine when each cycle of the AC line beginsand ends. Comparison modules 1130-1 and 1130-2 (collectively, comparisonmodules 1130) compare the phase A current to the phase B and C currents,respectively. In various implementations, the comparison modules 1130-1and 1130-2 attempt to minimize the difference between the phase B and Ccurrents, respectively, and the phase A current.

If one or more phases are carrying higher currents, the losses in thosephases will be disproportionately higher. This reduces efficiency of thePFC module 204 and may result in excessive heating in the phasescarrying higher currents. Differences in currents may result frommanufacturing variations, such as variations in the inductor. Forexample only, as inductance of an inductor decreases, the current thatthe inductor carries increases and results in increases in resistiveheat loss.

In the example of FIG. 11, the phase A current is the reference current.Comparison modules 1130 indicate to adjustment modules 1140-1 and 1140-2(collectively, adjustment modules 1140) whether the phase B and Ccurrents are greater than or less than the phase A current,respectively. The advance adjustments for phases B and C are selectivelyvaried to match the phase B and C currents to the phase A current.

In various implementations, the adjustment modules 1140 increase theiroutput by one increment for each line cycle in which the respectivesubordinate phase current is greater than the phase A current.Similarly, the adjustment modules 1140 decrease their output by oneincrement for each line cycle in which the respective subordinate phasecurrent is less than the phase A current

For example only, the adjustment module 1140-1 may increase advanceadjust B by 1/1000 of a PWM period for each AC line cycle in which phasecurrent B is greater than phase current A. Similarly, the adjustmentmodule 1140-1 may decrease advance adjust B by 1/1000 of a PWM periodfor each AC line cycle in which phase current B is less than phasecurrent A.

The predetermined increments when increasing and decreasing the advanceadjust signals may be equal or may be different. If the analysis modules1120 only output new values after each AC line cycle, the adjustmentmodules 1140 may also update the advance adjust signals only once per ACline cycle. The adjustment modules 1140 receive the synchronized enablesignal from the PFC enable module 512. When the synchronized enablesignal is in the inactive state, the adjustment modules 1140 may resetthe advance adjust signals B and C, respectively. For example only, theadjustment modules 1140 may reset the advance adjust signals B and C tozero.

Typical PFC systems may control a duty cycle of switching elements(e.g., transistors) based on measurements from an alternating current(AC) line signal. The measurements from the AC line signal, however, aremade in real time and thus the duty cycle is controlled based on pastmeasurements. In other words, there is an inherent delay in controllingthe duty cycle based on measurements from the AC line signal.Furthermore, the AC line signal is susceptible to AC line drops and/ornoise and thus measurements of the AC line signal may be incorrect. Morespecifically, controlling the duty cycle based on incorrect measurementsmay lead to errors such as trips and/or faults.

Therefore, a system and method is presented that predicts ahead a firstpredetermined number of cycles along the AC line signal, thuscompensating for the inherent delay. More specifically, the system andmethod filter the AC line signal using a notch filter to remove harmonicdistortion (i.e., ripples). The filtered AC line signal may be referredto hereinafter as the AC line signal.

The system and method then predict ahead the first predetermined numberof cycles along the AC line signal by extrapolation using a gradient(i.e., slope) of a reference signal. For example only, the firstpredetermined number of cycles may be three. In one embodiment, thereference signal may be a mathematical sinusoid (i.e., a sine wave) inphase with the AC line signal. The system and method may then controlthe duty cycle based on the prediction.

The system and method may predict ahead a second predetermined number ofcycles along the AC line signal also by extrapolation using the gradientof the reference signal. The system and method may generate a inversionsignal based on the predicted AC line signal. For example, the inversionsignal may be the sign of the advanced (i.e., predicted ahead) AC linesignal. In other words, when the predicted AC line signal is a positivevalue (greater than zero), the inversion signal may be a first state(e.g., a “1”), and when the prediction of the AC line signal is anegative value (less than zero), the inversion signal may be a secondstate (e.g., a “0”).

Referring now to FIG. 12, a method for compensating for delay begins at1204. At 1204, the delay compensation module 580 determines the baseadvances. For example, the delay compensation module 580 may retrievepredetermined base advance values from memory. Additionally, the delaycompensation module 580 may determine various quantities of baseadvances. For example, the delay compensation module 580 may determineone base advance (A, such as in single phase operation), two baseadvances (A and B, such as in two-phase operation), or three baseadvances (A, B, and C, such as in three-phase operation). The delaycompensation module 580, however, may also determine other numbers ofbase advances.

For example only, in three-phase operation the delay compensation module580 may retrieve the following values from memory: base advance A may be3.18, base advance B may be 3.07, and base advance C may be 3.25.Additionally, for example only, in two-phase operation the delaycompensation module 580 may retrieve the following values from memory:base advance A may be 2.5 and base advance B may be 2.5. Similarly, forexample only, in single phase operation the delay compensation module580 may retrieve from memory a base advance A of 2.5.

At 1208, the delay compensation module 580 adjusts slave advances.Specifically, the slave advances refer to base advances being adjustedwith respect to a reference advance. For example only, in three-phaseoperation base advances B and C may be adjusted by advance adjustments Band C, respectively. In other words, base advances B and C represent theslave advances and base advance A represents the reference advance.Alternatively, for example only, in two-phase operation base advance Amay be adjusted by advance adjustment A. In other words, base advance Arepresents the slave advance and base advance B represents the referenceadvance.

At 1212, the delay compensation module 580 notch filters the incoming ACline signal. More specifically, the delay compensation module 580 mayfilter the AC line signal to remove instability in the AC line signalcorresponding to a corner frequency.

At 1216, the delay compensation module 580 generates compensated ACsignals. More specifically, the delay compensation module 580 maygenerate the compensated AC signals based on the notch-filtered AC linesignal, the adjusted advance(s), and the reference advance. For exampleonly, the delay compensation module 580 may generate three compensatedAC signals (A, B, C) based on the reference advance A and the adjustedadvances B and C, respectively, and notch-filtered AC line signal.

At 1220, the delay compensation module 580 may generate a predicted ACline signal. More specifically, the delay compensation module 580 maypredict ahead along the AC line signal based on a gradient of areference signal. For example, the reference signal may be the generatedreference signal as previously described herein. In other words, thedelay compensation module 580 may predict ahead by approximating afuture value of the AC ling signal using a slope of the generatedreference signal.

At 1224, the delay compensation module 580 generates the inversionsignal based on the predicted AC line signal. More specifically, thedelay compensation module 580 generates the inversion signal when thepredicated AC line signal indicates a zero-crossing. For example, theinversion signal may be based on the sign of the predicted AC linesignal. Specifically, the inversion signal may be used to invertpolarities of the duty cycles.

At 1228, the duty cycle conversion module 570 may control the duty cyclebased on the compensated AC signals and the inversion signal. Forexample only, in three-phase operation the duty cycle conversion module570 may control the duty cycle based on three compensated AC signals A,B, and C. Alternatively, the duty cycle conversion module 570 maycontrol the duty cycle based on the reference signal and the inversionsignal. In other words, using the reference signal instead of thecompensated AC signals may decrease errors due to AC line drops and/ornoise. Control may then return to 1208.

The broad teachings of the disclosure can be implemented in a variety offorms. Therefore, while this disclosure includes particular examples,the true scope of the disclosure should not be so limited since othermodifications will become apparent to the skilled practitioner upon astudy of the drawings, the specification, and the following claims.

1. A power factor correction (PFC) system, comprising: an adjustmentmodule that generates N time advances based on N predetermined timeadvances and (N−1) time advance adjustments, wherein N is an integergreater than zero; a compensation module that generates N compensatedversions of an input alternating current (AC) line signal by predictingahead of the input AC line signal using a gradient of a sinusoidalreference signal and the N time advances, respectively, wherein thesinusoidal reference signal is synchronized with the input AC linesignal in phase and frequency; and a duty cycle control module thatgenerates PFC duty cycles based on the N compensated versions of theinput AC line signal.
 2. The PFC system of claim 1, further comprising:a predicted zero-crossing detection module that generates an inversionsignal based on predicted zero-crossings of the input AC line signal,wherein the predicted zero-crossing detection module predicts thezero-crossings based on the input AC line signal, wherein the PFC dutycycles are inverted based on the inversion signal.
 3. The PFC system ofclaim 2, wherein: full inversion of the PFC duty cycles occurs over afirst length of time, the predicted zero-crossing detection moduleswitches a state of the inversion signal based on a predictedzero-crossing of an advanced version of the input AC line signal, thepredicted zero-crossing detection module generates the advanced versionof the input AC line signal by predicting ahead by a time advance, andthe time advance is based on a sum of a control system delay of the PFCsystem and half of the first length of time.
 4. The PFC system of claim3, wherein the predicted zero-crossing detection module generates theadvanced version of the input AC line signal by extrapolating a presentvalue of the input AC line signal by the time advance along a presentgradient of the sinusoidal reference signal.
 5. The PFC system of claim2, further comprising: a notch filter that generates a filtered ACsignal by filtering out a predetermined frequency of the input AC linesignal, wherein the predetermined frequency is based on a control systemdelay of the PFC system, wherein the compensation module generates the Ncompensated versions of the input AC line signal by predicting ahead ofthe filtered AC signal, and wherein the predicted zero-crossingdetection module predicts the zero-crossings based on the filtered ACsignal.
 6. The PFC system of claim 1, further comprising: a notch filterthat generates a filtered AC signal by filtering out a predeterminedfrequency of the input AC line signal, wherein the predeterminedfrequency is based on a control system delay of the PFC system, andwherein the compensation module generates the N compensated versions ofthe input AC line signal by predicting ahead of the filtered AC signal.7. The PFC system of claim 1, wherein for each version of the Ncompensated versions of the input AC line signal, the compensationmodule generates the version by extrapolating a present value of theinput AC line signal by a corresponding one of the N time advances alonga present gradient of the sinusoidal reference signal.
 8. The PFC systemof claim 1, wherein the (N−1) time advance adjustments are based ondifferences between N measured currents having different phases, whereinN is an integer greater than one.
 9. The PFC system of claim 1, whereinthe N predetermined time advances are set at design time.
 10. A methodfor power factor correction (PFC), comprising: generating N timeadvances based on N predetermined time advances and (N−1) time advanceadjustments, wherein N is an integer greater than zero; generating Ncompensated versions of an input alternating current (AC) line signal bypredicting ahead of the input AC line signal using a gradient of asinusoidal reference signal and the N time advances, respectively,wherein the sinusoidal reference signal is synchronized with the inputAC line signal in phase and frequency; and generating PFC duty cyclesbased on the N compensated versions of the input AC line signal.
 11. Themethod of claim 10, further comprising: generating an inversion signalbased on predicted zero-crossings of the input AC line signal;predicting the zero-crossings based on the input AC line signal; andinverting the PFC duty cycles based on the inversion signal.
 12. Themethod of claim 11, wherein: full inversion of the PFC duty cyclesoccurs over a first length of time; switching a state of the inversionsignal based on a predicted zero-crossing of an advanced version of theinput AC line signal; and generating the advanced version of the inputAC line signal by predicting ahead by a time advance, wherein the timeadvance is based on a sum of a control system delay of a PFC system andhalf of the first length of time.
 13. The method of claim 12, furthercomprising generating the advanced version of the input AC line signalby extrapolating a present value of the input AC line signal by the timeadvance along a present gradient of the sinusoidal reference signal. 14.The method of claim 11, further comprising: generating a filtered ACsignal by filtering out a predetermined frequency of the input AC linesignal using a notch filter, wherein the predetermined frequency isbased on a control system delay of a PFC system.
 15. The method of claim14, further comprising: generating the N compensated versions of theinput AC line signal by predicting ahead of the filtered AC signal; andpredicting the zero-crossings based on the filtered AC signal.
 16. Themethod of claim 10, further comprising: generates a filtered AC signalby filtering out a predetermined frequency of the input AC line signalusing a notch filter, wherein the predetermined frequency is based on acontrol system delay of a PFC system; and generating the N compensatedversions of the input AC line signal by predicting ahead of the filteredAC signal.
 17. The method of claim 10, further comprising for eachversion of the N compensated versions of the input AC line signal,generating the version by extrapolating a present value of the input ACline signal by a corresponding one of the N time advances along apresent gradient of the sinusoidal reference signal.
 18. The method ofclaim 10, wherein the (N−1) time advance adjustments are based ondifferences between N measured currents having different phases, whereinN is an integer greater than one.
 19. The method of claim 10, whereinthe N predetermined time advances are set at design time.
 20. A methodfor power factor correction (PFC), comprising: receiving an inputalternating current (AC) line signal; generating a filtered AC signal byfiltering out a predetermined frequency of the input AC line signalusing a notch filter, wherein the predetermined frequency is based on acontrol system delay of a PFC system; generating a sinusoidal referencesignal that is synchronized with the input AC line signal in phase andfrequency; generating N time advances based on N predetermined timeadvances and (N−1) time advance adjustments, wherein N is an integergreater than zero; for each of N compensated versions of the input ACline signal, generating the version by extrapolating a present value ofthe filtered AC line signal by a corresponding one of the N timeadvances along a present gradient of the sinusoidal reference signal;generating PFC duty cycles based on the N compensated versions of theinput AC line signal; predicting zero-crossings based on the filtered ACline signal; generating an inversion signal based on predictedzero-crossings of the filtered AC line signal; inverting the PFC dutycycles based on the inversion signal; generating an advanced version ofthe filtered AC line signal by predicting ahead by a time advance thatincludes a sum of a control system delay of a PFC system and half of atime for full inversion of the PFC duty cycles; and switching a state ofthe inversion signal based on a predicted zero-crossing of the advancedversion of the filtered AC line signal.